package router

import (
	"admin-nexus-backend/internal/handler"

	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
)

// SetupRoleRoutes 设置角色管理路由
func SetupRoleRoutes(router *gin.RouterGroup, db *gorm.DB) {
	roleHandler := handler.NewRoleHandler(db)

	roles := router.Group("/roles")
	{
		roles.GET("", roleHandler.GetRoleList)                    // 角色列表
		roles.GET("/all", roleHandler.GetAllRoles)                // 所有角色
		roles.GET("/:id", roleHandler.GetRoleByID)                // 角色详情
		roles.POST("", roleHandler.CreateRole)                    // 创建角色
		roles.PUT("/:id", roleHandler.UpdateRole)                 // 更新角色
		roles.DELETE("/:id", roleHandler.DeleteRole)              // 删除角色
		roles.PUT("/:id/resources", roleHandler.AssignResources)  // 分配资源
		roles.GET("/:id/resources", roleHandler.GetRoleResources) // 获取角色资源
	}
}
